در این مقاله با نکاتی آشنا می شوید که جهت بهینه سازی و افزایش کارآیی و سرعت برنامه های ASP.NET لازم می باشند.
اگرچه ASP.NET مدل جدیدی از برنامه نویسی تحت وب می باشد و آمده است که نواقص و کمبودهای قبلی را برطرف نموده و به کارآیی برنامه های تحت وب بیافزاید، اما شما همچنان نیاز دارید که جهت کارآیی و بهینه بودن برنامه هایتان نکاتی را رعایت کنید. این نکات جهت افزایش کارآیی، سرعت و صرفه جویی در مصرف منابع بر روی سرور است. جهت دستیابی به لیست کامل و مفصل این نکات به این آدرس در سایت MSDN مراجعه نمائید. چکیده برخی از این نکات بشرح زیر است:
Session State را در صورت عدم نیاز حتما غیرفعال نمائید:
بصورت پیش فرض وضعیت Session State برای هر صفحه فعال است. اگر مطمئن هستید که در آن صفحه از متغیرهای Session استفاده نمی کنید، حتما آن را در دایرکتیو Page بالای صفحه تان با قراردادن آن برابر False غیرفعال کنید تا بدین ترتیب منابع اضافی در سرور مصرف نشود. اگر هم مطمئن هستید که در کل برنامه یا سایت تان نمی خواهید از متغیرهای Session استفاده کنید می توانید آن را در web.config بطور کلی غیرفعال کنید.
از رفت و برگشت های زیاد از حد پرهیز کنید:
فرم های وب جهت پردازش باید به سرور ارسال شده و نتیجه پردازش برگشت داده شود. به این عمل یک رفت و برگشت یا Round Trip می گویند. از آنجا که این رفت و برگشت ها برای سرور ایجاد بار پردازشی و ترافیک می کنند، سعی کنید بگونه ای از کنترلهای وب استفاده کنید که حداقل رفت و برگشت را داشته باشید و تا جائیکه می توانید از پردازش های سمت کاربر برای کارهای ساده استفاده کنید.
از کنترل های سرور با احتیاط استفاده کنید:
اگرچه کنترلهای سرور دارای قابلیتهای بسیار زیاد و جالبی می باشند اما این قابلیتها ناشی از اجرای آنها بر روی سرور است. از آنجا که هر اجرائی بر روی سرور ایجاد بار اضافی در سرور می کند لذا در استفاده از این نوع کنترلها خست بخرج دهید و اگر جائی می توانید از کنترلهای معمولی HTML استفاده نمائید حتما این کار را بکنید.
از Page.IsPostback استفاده کنید:
استفاده از Page.IsPostback سبب کاهش رفت و برگشت های (Round Trip) اضافی می گردد. همچنین به شما کمک می کند که تشخیص دهید چه موقع نیاز به تولید داده جدید برای یک صفحه دارید.
تا آنجائیکه ممکن است از View State استفاده نکنید:
View State هم مانند Session State برای نگهداری اطلاعات و سابقه یک فرم از منابع سرور استفاده کرده و به حجم صفحات اضافه می کند. از طرفی این حالت بصورت پیش فرض فعال می باشد. لذا در صورتیکه به آن نیاز ندارید از آن استفاده نکنید و حالت آن را غیرفعال نمائید.
از Strict="true" در صفحات تان استفاده کنید:
جهت استفاده از مزایای early binding از عبارت فوق در دایرکتیو Page استفاده کنید. این مساله سبب می شود تا شما مجبور شوید تایپ هر متغیر را در لحظه تعریف آن متغیر بصورت صریح مشخص کنید. همانطور که می دانید درVB.NET و JScript.NET جهت پوشش برنامه های ASP کلاسیک که بدون تایپ بود، می توانید تایپ یک متغیر را در لحظه تعریف آن مشخص نکرده بلکه بعدا هنگام انتساب مقادیر به آن، این کار (تعیین تایپ) بصورت خودکار انجام شود. این مساله سبب صرف منابع اضافی در سرور می گردد.
از Stored Procedure استفاده کنید:
اگر از بانک اطلاعاتی در برنامه تان استفاده می کنید، سعی کنید که حتما پرس و جوهای (query) خود را به روال های ذخیره شده (stored procedure) بسپارید. از آنجائیکه این روال ها برای مراجعه اول کامپایل شده و از آن پس جهت اجرا در اختیار مدیر بانک اطلاعاتی (DBMS) قرار می گیرد، نسبت به پرس و جوهای معمولی درون برنامه ای بسیار کاراتر و سریعتر هستند. از طرفی با بهینه سازی خاصی که برای گرداننده (driver) SQLServer در مجموعه دات نت شده است، سرعت اجرای روال های ذخیره شده نسبت به روش های معمولی OLEDB یا ODBC بیش از دو الی سه برابر می باشد.
از Data Reader استفاده کنید:
اگر حجم بالائی از داده ندارید یا تنها می خواهید از بانک اطلاعاتی عمل خواندن را انجام دهید حتما از Data Reader استفاده کنید. استفاده از Data Set سبب کندی کار و مصرف بالای منابع می گردد.
از Caching استفاده کنید:
Caching شاهکار ASP.NET است. تا آنجائیکه ممکن است از Caching استفاده کنید. استفاده از Caching سبب می شود تا از تولید مجدد کد HTML لازم برای یک صفحه تکراری جلوگیری شده و کاربر هم صفحات را خیلی سریعتر دریافت کند.
حالت Debug را غیرفعال کنید:
هنگامیکه کار برنامه نویسی شما تمام شده است و زمان استفاده واقعی از برنامه فرا رسیده است، فراموش نکنید که حالت Debug در کامپایل نهائی برنامه تان را غیرفعال نمائید.